using Sheep_Breeding.ErrorCode;
using Sheep_Breeding.Write.Api.DTOs;
using System.Collections.Generic;
using System.Threading.Tasks;

namespace Sheep_Breeding.Write.Api.OperationServices.IServices
{
    /// <summary>
    /// 羊只销售服务接口
    /// </summary>
    public interface ISheepSaleService
    {
        /// <summary>
        /// 添加羊只销售信息
        /// </summary>
        /// <param name="dto">添加羊只销售信息</param>
        /// <returns>操作结果</returns>
        Task<ApiResult> AddSheepSale(AddSheepSaleDto dto);

        /// <summary>
        /// 更新羊只销售信息
        /// </summary>
        /// <param name="dto">更新羊只销售信息</param>
        /// <returns>操作结果</returns>
        Task<ApiResult> UpdateSheepSale(UpdateSheepSaleDto dto);

        /// <summary>
        /// 删除羊只销售信息
        /// </summary>
        /// <param name="dto">删除羊只销售信息</param>
        /// <returns>操作结果</returns>
        Task<ApiResult> DeleteSheepSale(DeleteSheepSaleDto dto);

        /// <summary>
        /// 查询羊只销售信息
        /// </summary>
        /// <param name="dto">查询条件</param>
        /// <returns>查询结果</returns>
        Task<ApiResult<List<SheepSaleResultDto>>> SearchSheepSale(SearchSheepSaleDto dto);

        /// <summary>
        /// 根据ID获取羊只销售详情
        /// </summary>
        /// <param name="id">羊只销售ID</param>
        /// <returns>羊只销售详情</returns>
        Task<ApiResult<SheepSaleResultDto>> GetSheepSaleById(long id);
    }
} 